Q. 선점 스케줄링과 비선점 스케줄링의 차이점은?
🧑🏻💻 Answer.
✅ 선점 스케줄링
- 더 높은 우선순위의 프로세스가 도착하면 실행 중인 프로세스를 멈추고 CPU를 선점합니다.
- 우선순위가 높은 프로세스가 있으면, 실행 중인 프로세스가 중단될 수 있습니다.
- 더 짧은 응답 시간과 우선순위 기반 스케줄링이 필요한 경우에 유용합니다.
✅ 비선점 스케줄링
- 더 높은 우선순위의 프로세스가 도착하면 Ready Queue의 Head에 넣지만, 실행 중인 프로세스를 중단시키지 않습니다.
- 실행 중인 프로세스는 스스로 CPU를 반납할 때까지 CPU를 독점적으로 사용합니다.
- 우선 순위가 고려되지 않고, 단순하고 예측 가능한 스케줄링이 필요한 경우에 적합합니다.
Answer.
따라서 선점 스케줄링은 우선순위가 높은 프로세스가 우선적으로 CPU를 사용할 수 있고, CPU 사용을 OS가 선점할 수 있는 방식입니다. 반면, 비선점 스케줄링은 우선 순위가 높은 프로세스가 Ready Queue에 대기하면서 CPU 사용을 무작위로 빼앗을 수 없는 방식입니다.